// Generated from java-escape by ANTLR 4.11.1
package com.inspur.edp.common.expr.ast;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link CompileUnitParser}.
 */
public interface CompileUnitListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#compileUnit}.
	 * @param ctx the parse tree
	 */
	void enterCompileUnit(CompileUnitParser.CompileUnitContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#compileUnit}.
	 * @param ctx the parse tree
	 */
	void exitCompileUnit(CompileUnitParser.CompileUnitContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#compileUnitTypes}.
	 * @param ctx the parse tree
	 */
	void enterCompileUnitTypes(CompileUnitParser.CompileUnitTypesContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#compileUnitTypes}.
	 * @param ctx the parse tree
	 */
	void exitCompileUnitTypes(CompileUnitParser.CompileUnitTypesContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#importInfo}.
	 * @param ctx the parse tree
	 */
	void enterImportInfo(CompileUnitParser.ImportInfoContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#importInfo}.
	 * @param ctx the parse tree
	 */
	void exitImportInfo(CompileUnitParser.ImportInfoContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#program}.
	 * @param ctx the parse tree
	 */
	void enterProgram(CompileUnitParser.ProgramContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#program}.
	 * @param ctx the parse tree
	 */
	void exitProgram(CompileUnitParser.ProgramContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#modifierKeyword}.
	 * @param ctx the parse tree
	 */
	void enterModifierKeyword(CompileUnitParser.ModifierKeywordContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#modifierKeyword}.
	 * @param ctx the parse tree
	 */
	void exitModifierKeyword(CompileUnitParser.ModifierKeywordContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#name}.
	 * @param ctx the parse tree
	 */
	void enterName(CompileUnitParser.NameContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#name}.
	 * @param ctx the parse tree
	 */
	void exitName(CompileUnitParser.NameContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#typeDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterTypeDeclaration(CompileUnitParser.TypeDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#typeDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitTypeDeclaration(CompileUnitParser.TypeDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#genericTypeDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterGenericTypeDeclaration(CompileUnitParser.GenericTypeDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#genericTypeDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitGenericTypeDeclaration(CompileUnitParser.GenericTypeDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#extendDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterExtendDeclaration(CompileUnitParser.ExtendDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#extendDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitExtendDeclaration(CompileUnitParser.ExtendDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#implementsDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterImplementsDeclaration(CompileUnitParser.ImplementsDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#implementsDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitImplementsDeclaration(CompileUnitParser.ImplementsDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#bodyDeclarations}.
	 * @param ctx the parse tree
	 */
	void enterBodyDeclarations(CompileUnitParser.BodyDeclarationsContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#bodyDeclarations}.
	 * @param ctx the parse tree
	 */
	void exitBodyDeclarations(CompileUnitParser.BodyDeclarationsContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#fieldDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterFieldDeclaration(CompileUnitParser.FieldDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#fieldDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitFieldDeclaration(CompileUnitParser.FieldDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#constructorDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterConstructorDeclaration(CompileUnitParser.ConstructorDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#constructorDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitConstructorDeclaration(CompileUnitParser.ConstructorDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#methodDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterMethodDeclaration(CompileUnitParser.MethodDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#methodDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitMethodDeclaration(CompileUnitParser.MethodDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#parameterDeclarations}.
	 * @param ctx the parse tree
	 */
	void enterParameterDeclarations(CompileUnitParser.ParameterDeclarationsContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#parameterDeclarations}.
	 * @param ctx the parse tree
	 */
	void exitParameterDeclarations(CompileUnitParser.ParameterDeclarationsContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#parameterDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterParameterDeclaration(CompileUnitParser.ParameterDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#parameterDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitParameterDeclaration(CompileUnitParser.ParameterDeclarationContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#enumValues}.
	 * @param ctx the parse tree
	 */
	void enterEnumValues(CompileUnitParser.EnumValuesContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#enumValues}.
	 * @param ctx the parse tree
	 */
	void exitEnumValues(CompileUnitParser.EnumValuesContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#enumValue}.
	 * @param ctx the parse tree
	 */
	void enterEnumValue(CompileUnitParser.EnumValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#enumValue}.
	 * @param ctx the parse tree
	 */
	void exitEnumValue(CompileUnitParser.EnumValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#decorator}.
	 * @param ctx the parse tree
	 */
	void enterDecorator(CompileUnitParser.DecoratorContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#decorator}.
	 * @param ctx the parse tree
	 */
	void exitDecorator(CompileUnitParser.DecoratorContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#decoratorItem}.
	 * @param ctx the parse tree
	 */
	void enterDecoratorItem(CompileUnitParser.DecoratorItemContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#decoratorItem}.
	 * @param ctx the parse tree
	 */
	void exitDecoratorItem(CompileUnitParser.DecoratorItemContext ctx);
	/**
	 * Enter a parse tree produced by the {@code arrayType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void enterArrayType(CompileUnitParser.ArrayTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code arrayType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void exitArrayType(CompileUnitParser.ArrayTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code referType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void enterReferType(CompileUnitParser.ReferTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code referType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void exitReferType(CompileUnitParser.ReferTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code voidType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void enterVoidType(CompileUnitParser.VoidTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code voidType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void exitVoidType(CompileUnitParser.VoidTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code genericType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void enterGenericType(CompileUnitParser.GenericTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code genericType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void exitGenericType(CompileUnitParser.GenericTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code primitiveType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void enterPrimitiveType(CompileUnitParser.PrimitiveTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code primitiveType}
	 * labeled alternative in {@link CompileUnitParser#type}.
	 * @param ctx the parse tree
	 */
	void exitPrimitiveType(CompileUnitParser.PrimitiveTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code stringType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterStringType(CompileUnitParser.StringTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code stringType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitStringType(CompileUnitParser.StringTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code booleanType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterBooleanType(CompileUnitParser.BooleanTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code booleanType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitBooleanType(CompileUnitParser.BooleanTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code intType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterIntType(CompileUnitParser.IntTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code intType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitIntType(CompileUnitParser.IntTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code floatType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterFloatType(CompileUnitParser.FloatTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code floatType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitFloatType(CompileUnitParser.FloatTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code doubleType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterDoubleType(CompileUnitParser.DoubleTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code doubleType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitDoubleType(CompileUnitParser.DoubleTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code longType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterLongType(CompileUnitParser.LongTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code longType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitLongType(CompileUnitParser.LongTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code anyType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void enterAnyType(CompileUnitParser.AnyTypeContext ctx);
	/**
	 * Exit a parse tree produced by the {@code anyType}
	 * labeled alternative in {@link CompileUnitParser#primitiveTypeEnum}.
	 * @param ctx the parse tree
	 */
	void exitAnyType(CompileUnitParser.AnyTypeContext ctx);
	/**
	 * Enter a parse tree produced by the {@code newExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterNewExpr(CompileUnitParser.NewExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code newExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitNewExpr(CompileUnitParser.NewExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code thisExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterThisExpr(CompileUnitParser.ThisExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code thisExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitThisExpr(CompileUnitParser.ThisExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code plusMinusPostExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterPlusMinusPostExpr(CompileUnitParser.PlusMinusPostExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code plusMinusPostExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitPlusMinusPostExpr(CompileUnitParser.PlusMinusPostExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code fieldAccessExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterFieldAccessExpr(CompileUnitParser.FieldAccessExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code fieldAccessExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitFieldAccessExpr(CompileUnitParser.FieldAccessExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code plusMinusExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterPlusMinusExpr(CompileUnitParser.PlusMinusExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code plusMinusExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitPlusMinusExpr(CompileUnitParser.PlusMinusExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code simplifyMethodInvokeExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterSimplifyMethodInvokeExpr(CompileUnitParser.SimplifyMethodInvokeExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code simplifyMethodInvokeExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitSimplifyMethodInvokeExpr(CompileUnitParser.SimplifyMethodInvokeExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code nullValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterNullValExpr(CompileUnitParser.NullValExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code nullValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitNullValExpr(CompileUnitParser.NullValExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code typeCastExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterTypeCastExpr(CompileUnitParser.TypeCastExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code typeCastExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitTypeCastExpr(CompileUnitParser.TypeCastExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code arrayValueExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterArrayValueExpr(CompileUnitParser.ArrayValueExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code arrayValueExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitArrayValueExpr(CompileUnitParser.ArrayValueExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code assignValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterAssignValExpr(CompileUnitParser.AssignValExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code assignValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitAssignValExpr(CompileUnitParser.AssignValExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code methodInvokeExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterMethodInvokeExpr(CompileUnitParser.MethodInvokeExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code methodInvokeExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitMethodInvokeExpr(CompileUnitParser.MethodInvokeExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code arrayAccessExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterArrayAccessExpr(CompileUnitParser.ArrayAccessExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code arrayAccessExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitArrayAccessExpr(CompileUnitParser.ArrayAccessExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code unaryMinusExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterUnaryMinusExpr(CompileUnitParser.UnaryMinusExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code unaryMinusExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitUnaryMinusExpr(CompileUnitParser.UnaryMinusExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code numberValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterNumberValExpr(CompileUnitParser.NumberValExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code numberValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitNumberValExpr(CompileUnitParser.NumberValExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code compareExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterCompareExpr(CompileUnitParser.CompareExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code compareExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitCompareExpr(CompileUnitParser.CompareExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code stringValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterStringValExpr(CompileUnitParser.StringValExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code stringValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitStringValExpr(CompileUnitParser.StringValExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code objectValueExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterObjectValueExpr(CompileUnitParser.ObjectValueExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code objectValueExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitObjectValueExpr(CompileUnitParser.ObjectValueExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code ppmmPreExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterPpmmPreExpr(CompileUnitParser.PpmmPreExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code ppmmPreExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitPpmmPreExpr(CompileUnitParser.PpmmPreExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code simpleNameExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterSimpleNameExpr(CompileUnitParser.SimpleNameExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code simpleNameExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitSimpleNameExpr(CompileUnitParser.SimpleNameExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code anonmousFuncExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterAnonmousFuncExpr(CompileUnitParser.AnonmousFuncExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code anonmousFuncExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitAnonmousFuncExpr(CompileUnitParser.AnonmousFuncExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code notExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterNotExpr(CompileUnitParser.NotExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code notExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitNotExpr(CompileUnitParser.NotExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code varDeclarationExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterVarDeclarationExpr(CompileUnitParser.VarDeclarationExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code varDeclarationExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitVarDeclarationExpr(CompileUnitParser.VarDeclarationExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code multiplyDivideExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterMultiplyDivideExpr(CompileUnitParser.MultiplyDivideExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code multiplyDivideExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitMultiplyDivideExpr(CompileUnitParser.MultiplyDivideExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code andOrExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterAndOrExpr(CompileUnitParser.AndOrExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code andOrExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitAndOrExpr(CompileUnitParser.AndOrExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code booleanValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterBooleanValExpr(CompileUnitParser.BooleanValExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code booleanValExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitBooleanValExpr(CompileUnitParser.BooleanValExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code enclosureExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void enterEnclosureExpr(CompileUnitParser.EnclosureExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code enclosureExpr}
	 * labeled alternative in {@link CompileUnitParser#express}.
	 * @param ctx the parse tree
	 */
	void exitEnclosureExpr(CompileUnitParser.EnclosureExprContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#jsonFieldAssignValue}.
	 * @param ctx the parse tree
	 */
	void enterJsonFieldAssignValue(CompileUnitParser.JsonFieldAssignValueContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#jsonFieldAssignValue}.
	 * @param ctx the parse tree
	 */
	void exitJsonFieldAssignValue(CompileUnitParser.JsonFieldAssignValueContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#parameters}.
	 * @param ctx the parse tree
	 */
	void enterParameters(CompileUnitParser.ParametersContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#parameters}.
	 * @param ctx the parse tree
	 */
	void exitParameters(CompileUnitParser.ParametersContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#parameter}.
	 * @param ctx the parse tree
	 */
	void enterParameter(CompileUnitParser.ParameterContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#parameter}.
	 * @param ctx the parse tree
	 */
	void exitParameter(CompileUnitParser.ParameterContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#compareOp}.
	 * @param ctx the parse tree
	 */
	void enterCompareOp(CompileUnitParser.CompareOpContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#compareOp}.
	 * @param ctx the parse tree
	 */
	void exitCompareOp(CompileUnitParser.CompareOpContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#block}.
	 * @param ctx the parse tree
	 */
	void enterBlock(CompileUnitParser.BlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#block}.
	 * @param ctx the parse tree
	 */
	void exitBlock(CompileUnitParser.BlockContext ctx);
	/**
	 * Enter a parse tree produced by the {@code exprStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterExprStatement(CompileUnitParser.ExprStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code exprStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitExprStatement(CompileUnitParser.ExprStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code superStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterSuperStatement(CompileUnitParser.SuperStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code superStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitSuperStatement(CompileUnitParser.SuperStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code emptyStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterEmptyStatement(CompileUnitParser.EmptyStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code emptyStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitEmptyStatement(CompileUnitParser.EmptyStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code forStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterForStatement(CompileUnitParser.ForStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code forStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitForStatement(CompileUnitParser.ForStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code forEachStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterForEachStatement(CompileUnitParser.ForEachStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code forEachStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitForEachStatement(CompileUnitParser.ForEachStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code whileStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterWhileStatement(CompileUnitParser.WhileStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code whileStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitWhileStatement(CompileUnitParser.WhileStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code breakStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterBreakStatement(CompileUnitParser.BreakStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code breakStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitBreakStatement(CompileUnitParser.BreakStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code switchStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterSwitchStatement(CompileUnitParser.SwitchStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code switchStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitSwitchStatement(CompileUnitParser.SwitchStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code selectStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterSelectStatement(CompileUnitParser.SelectStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code selectStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitSelectStatement(CompileUnitParser.SelectStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code continueStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterContinueStatement(CompileUnitParser.ContinueStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code continueStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitContinueStatement(CompileUnitParser.ContinueStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code returnStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterReturnStatement(CompileUnitParser.ReturnStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code returnStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitReturnStatement(CompileUnitParser.ReturnStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code throwStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterThrowStatement(CompileUnitParser.ThrowStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code throwStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitThrowStatement(CompileUnitParser.ThrowStatementContext ctx);
	/**
	 * Enter a parse tree produced by the {@code tryCatchFinallyStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void enterTryCatchFinallyStatement(CompileUnitParser.TryCatchFinallyStatementContext ctx);
	/**
	 * Exit a parse tree produced by the {@code tryCatchFinallyStatement}
	 * labeled alternative in {@link CompileUnitParser#statement}.
	 * @param ctx the parse tree
	 */
	void exitTryCatchFinallyStatement(CompileUnitParser.TryCatchFinallyStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#ifStatement}.
	 * @param ctx the parse tree
	 */
	void enterIfStatement(CompileUnitParser.IfStatementContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#ifStatement}.
	 * @param ctx the parse tree
	 */
	void exitIfStatement(CompileUnitParser.IfStatementContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#switchBlock}.
	 * @param ctx the parse tree
	 */
	void enterSwitchBlock(CompileUnitParser.SwitchBlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#switchBlock}.
	 * @param ctx the parse tree
	 */
	void exitSwitchBlock(CompileUnitParser.SwitchBlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#switchCase}.
	 * @param ctx the parse tree
	 */
	void enterSwitchCase(CompileUnitParser.SwitchCaseContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#switchCase}.
	 * @param ctx the parse tree
	 */
	void exitSwitchCase(CompileUnitParser.SwitchCaseContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#tryBlock}.
	 * @param ctx the parse tree
	 */
	void enterTryBlock(CompileUnitParser.TryBlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#tryBlock}.
	 * @param ctx the parse tree
	 */
	void exitTryBlock(CompileUnitParser.TryBlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#catchBlock}.
	 * @param ctx the parse tree
	 */
	void enterCatchBlock(CompileUnitParser.CatchBlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#catchBlock}.
	 * @param ctx the parse tree
	 */
	void exitCatchBlock(CompileUnitParser.CatchBlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#finallyBlock}.
	 * @param ctx the parse tree
	 */
	void enterFinallyBlock(CompileUnitParser.FinallyBlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#finallyBlock}.
	 * @param ctx the parse tree
	 */
	void exitFinallyBlock(CompileUnitParser.FinallyBlockContext ctx);
	/**
	 * Enter a parse tree produced by {@link CompileUnitParser#functionDeclaration}.
	 * @param ctx the parse tree
	 */
	void enterFunctionDeclaration(CompileUnitParser.FunctionDeclarationContext ctx);
	/**
	 * Exit a parse tree produced by {@link CompileUnitParser#functionDeclaration}.
	 * @param ctx the parse tree
	 */
	void exitFunctionDeclaration(CompileUnitParser.FunctionDeclarationContext ctx);
}